package keer.httpinterface.proxy;


/**
 * JSON响应转换器类，继承自TextContentResponseConverter
 * 用于将JSON格式的字符串转换为指定类型的对象
 * @see TextContentResponseConverter
 * @see JsonCodec
 *
 * @author Keer
 * @since 1.0.0
 */
public class JsonResponseConverter extends TextContentResponseConverter {

    /**
     * 重写convertString方法，用于将JSON字符串转换为指定类型的对象
     *
     * @param text JSON格式的字符串
     * @param resultType 需要转换成的目标类型
     * @return 转换后的对象
     * @throws Exception 如果转换过程中发生错误，则抛出异常
     */
    @Override
    protected Object convertString(String text, Class<?> resultType) throws Exception {
        // 使用JsonCodec类的decode方法将JSON字符串解码为指定类型的对象
        return JsonCodec.decode(text, resultType);
    }

    /**
     * 重写contentType方法，返回处理的内容类型为application/json
     *
     * @return 返回处理的内容类型为application/json
     */
    @Override
    protected String contentType() {
        // 指定此转换器处理的内容类型为JSON
        return "application/json";
    }
}
